;

// 设置按钮不可用 避免重复提交
function form_disabled(formid) {
    var _form = $("#" + formid);
    _form.find('input[type=submit]').attr("disabled", true);
    _form.find('button[type=submit]').attr("disabled", true);
}


// ajax上传图片
function uploadAjax(url, data, fun) {
    $.ajax({
        type: 'post',
        url: "/mobile/deal/qiniu",
        data: data,

        // ajax上传图片 的匹配
        contentType: false,
        processData: false,

        // 这个方法在请求发送前调用，可以用来做表单校验、用来做请求等待动画的调用
        /*beforeSend: function () {
            // 返回false是取消发送
            return false
        },*/
        withCredentials: true,
        // 自定义 header
        beforeSend: function (request) {
            //request.setRequestHeader("Terminal","android");
            //request.setRequestHeader("Token","");
        },
        // 会自动帮我们把返回的数据根据响应头设置的类型进行转换好（也就是会自动转成json对象）
        success: function (res) {
            fun(res)
        },
        // xhr是ajax对象
        error: function (xhr) {
        }
    });
}

// ajax 操作
function onAjax(url, data, headers, fun) {

    if (typeof (headers) === 'function') {
        fun = headers;
        headers = {};
    }

    $.ajax({
        type: 'post',
        url: url,
        data: data,
        headers: headers,
        //contentType: 'application/json',
        contentType: 'application/x-www-form-urlencoded',
        // dataType : 'json',
        // contentType: 'application/x-www-form-urlencoded',
        // 这个方法在请求发送前调用，可以用来做表单校验、用来做请求等待动画的调用
        /*beforeSend: function () {
            // 返回false是取消发送
            return false
        },*/
        withCredentials: true,
        // 自定义 header
        beforeSend: function (request) {
            //request.setRequestHeader("Terminal","android");
            //request.setRequestHeader("Token","");
        },
        // 会自动帮我们把返回的数据根据响应头设置的类型进行转换好（也就是会自动转成json对象）
        success: function (res) {
            //console.log('返回结果', res)
            if (typeof (fun) === 'function') {
                fun(res)
            }
            if (typeof (headers) === 'function') {
                headers(res)
            }

            //fun(res)
        },
        // xhr是ajax对象
        error: function (xhr) {
        }
    });
}

// 加密Ajax操作
function enAjax(url, encodeCon, data, headers, fun) {

    // 如果是加密的
    if (encodeCon.key) {
        let enStr = toData(true, encodeCon.key, encodeCon.iv, data);

        // 如果 headers 是 方法 则重新定义他
        if (typeof (headers) === 'function') {
            fun = headers;
            headers = {"Content-Token": enStr};
        } else {
            headers['Content-Token'] = enStr;
        }

        // 重新定义 data
        data = {};
    }else{
        // 如果不是加密的
        // 如果 headers 是 方法 则重新定义他
        if (typeof (headers) === 'function') {
            fun = headers;
            headers = {U4TIRP87hGoJhcyM: 'mZwTzXgOawVV1GJJ'}
        } else {
            headers['U4TIRP87hGoJhcyM'] = 'mZwTzXgOawVV1GJJ';
        }
    }

    $.ajax({
        type: 'post',
        url: url,
        data: data,
        headers: headers,
        //contentType: 'application/json;charset=UTF-8',
        contentType: 'application/x-www-form-urlencoded;charset=UTF-8',
        // dataType : 'json',
        // contentType: 'application/x-www-form-urlencoded',
        // 这个方法在请求发送前调用，可以用来做表单校验、用来做请求等待动画的调用
        /*beforeSend: function () {
            // 返回false是取消发送
            return false
        },*/
        withCredentials: true,
        // 自定义 header
        beforeSend: function (request) {
            //request.setRequestHeader("Terminal","android");
            //request.setRequestHeader("Token","");
        },
        // 会自动帮我们把返回的数据根据响应头设置的类型进行转换好（也就是会自动转成json对象）
        success: function (res) {
            if (encodeCon.key) {
                res = toResponse(true, encodeCon.key, encodeCon.iv, res.data)
            }

            //console.log('返回结果', res)
            if (typeof (fun) === 'function') {
                fun(res)
            }
            if (typeof (headers) === 'function') {
                headers(res)
            }

            //fun(res)
        },
        // xhr是ajax对象
        error: function (xhr) {
        }
    });
}

// ajax 获取列表
function getAjaxList(url, page = 1, size = 10, is_major = 0, fun = '') {
    /*if(!fun && typeof value === 'number' && !isNaN(value)){

    }*/
    $.ajax({
        type: 'post',
        url: url,
        data: {page: page, size: size, is_major: is_major},
        //contentType: 'application/json',
        contentType: 'application/x-www-form-urlencoded',
        // dataType : 'json',
        // contentType: 'application/x-www-form-urlencoded',
        // 这个方法在请求发送前调用，可以用来做表单校验、用来做请求等待动画的调用
        /*beforeSend: function () {
            // 返回false是取消发送
            return false
        },*/
        withCredentials: true,
        // 自定义 header
        beforeSend: function (request) {
            //request.setRequestHeader("Terminal","android");
            //request.setRequestHeader("Token","");
        },
        // 会自动帮我们把返回的数据根据响应头设置的类型进行转换好（也就是会自动转成json对象）
        success: function (res) {
            //console.log('返回结果', res)
            if (typeof (fun) === 'function') {
                fun(res)
            }
            if (typeof (is_major) === 'function') {
                is_major(res)
            }
        },
        // xhr是ajax对象
        error: function (xhr) {
        }
    });
}

